ASP.Net অ্যাপ্লিকেশনে Model হলো ডেটা এবং তার লজিকের প্রতিনিধিত্বকারী অংশ। এটি সাধারণত ডাটাবেসের টেবিলগুলোর সাথে সম্পর্কিত থাকে এবং ইউজার ইনপুট বা ডেটা রিট্রিভ করার জন্য ব্যবহৃত হয়। ASP.Net MVC বা ASP.Net Core MVC অ্যাপ্লিকেশনে Model ক্লাসের মাধ্যমে ডেটা ধারণ করা হয়।
ASP.Net প্রজেক্টে Model তৈরি করতে আপনাকে একটি সাধারণ C# ক্লাস তৈরি করতে হবে, যা আপনার অ্যাপ্লিকেশনের ডেটা স্ট্রাকচার বা ডোমেন অবজেক্টকে প্রতিনিধিত্ব করবে।
উদাহরণ:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Price { get; set; }
public int StockQuantity { get; set; }
}
এখানে, Product
ক্লাসটি একটি পণ্য (Product) এর জন্য মডেল, যার মধ্যে চারটি প্রপার্টি রয়েছে: Id
, Name
, Price
, এবং StockQuantity
।
ASP.Net Core অ্যাপ্লিকেশনে Entity Framework (EF) ব্যবহার করে ডেটাবেস মডেল তৈরি করা হয়। আপনি একটি DbContext ক্লাস ব্যবহার করে ডেটাবেসের সাথে যোগাযোগ করতে পারেন।
ApplicationDbContext
ক্লাস তৈরি করুন এবং এতে DbSet<T>
প্রপার্টি গুলি অন্তর্ভুক্ত করুন।using Microsoft.EntityFrameworkCore;
public class ApplicationDbContext : DbContext
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<Product> Products { get; set; }
}
এখানে, ApplicationDbContext
ক্লাসটি DbContext থেকে ইনহেরিট করে এবং Products
নামে একটি DbSet<Product>
প্রপার্টি ডিফাইন করা হয়েছে, যা ডেটাবেসের Products টেবিলের প্রতিনিধিত্ব করে।
ASP.Net Core অ্যাপ্লিকেশনে DbContext কনফিগার করার জন্য আপনাকে Startup.cs
ফাইলে ConfigureServices মেথডে Entity Framework কনফিগার করতে হবে।
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
}
এখানে, UseSqlServer
ব্যবহার করে SQL Server ডাটাবেসের সাথে সংযোগ স্থাপন করা হচ্ছে। আপনি আপনার ডাটাবেস কনফিগারেশন এবং কানেকশন স্ট্রিং appsettings.json
ফাইলে সংজ্ঞায়িত করতে পারেন।
মডেল তৈরি করার পরে, Entity Framework এর মাধ্যমে ডেটাবেস তৈরি বা আপডেট করা হয়। এজন্য Migration ব্যবহার করা হয়।
Package Manager Console:
Add-Migration InitialCreate
Update-Database
.NET CLI:
dotnet ef migrations add InitialCreate
dotnet ef database update
এটি ডাটাবেস টেবিল তৈরি করবে, যার মধ্যে আপনার মডেল ক্লাসের প্রপার্টিগুলি থাকবে।
ASP.Net MVC বা ASP.Net Core MVC অ্যাপ্লিকেশনে মডেল ক্লাসের মধ্যে Data Annotations ব্যবহার করে ডেটা ভ্যালিডেশন করা যেতে পারে। উদাহরণস্বরূপ, আপনি ফিল্ডগুলোকে আবশ্যক বা নির্দিষ্ট ফরম্যাটে রাখতে পারেন।
public class Product
{
public int Id { get; set; }
[Required(ErrorMessage = "Name is required")]
public string Name { get; set; }
[Range(0.01, double.MaxValue, ErrorMessage = "Price must be greater than 0")]
public decimal Price { get; set; }
[Range(0, int.MaxValue, ErrorMessage = "Stock Quantity cannot be negative")]
public int StockQuantity { get; set; }
}
এখানে:
Name
প্রপার্টি আবশ্যক করা হয়েছে।Price
এবং StockQuantity
এর মান সীমাবদ্ধ করা হয়েছে।ASP.Net অ্যাপ্লিকেশনে মডেল তৈরি করা একটি গুরুত্বপূর্ণ কাজ, যা ডেটা এবং লজিকের মধ্যে সংযোগ স্থাপন করে। Entity Framework ব্যবহার করে মডেল এবং ডাটাবেস সম্পর্কিত কার্যক্রম সহজভাবে করা যায়। এছাড়া, মডেল ক্লাসে Data Annotations ব্যবহার করে ইনপুট ভ্যালিডেশন সহজ করা সম্ভব।
Read more